package com.ruoyi.hiscomm.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * @ClassName DrugBasicInfoDo
 * @Author samula
 * @Descripe product by com.doctcloud
 * @Data 2025-09-28 3:45
 **/
@AllArgsConstructor
@NoArgsConstructor
public class DrugBasicInfoDo implements Serializable {
    private static final long serialVersionUID = 1L;
    @Excel(name="药品唯一码")
    private String drugStdCode;
    @Excel(name="药品通用名")
    private String drugName;
    @Excel(name="通用名代码")
    private String drugCode;
    @Excel(name="药品规格")
    private String drugSpec;
    @Excel(name="药品厂家简写")
    private String firmId;
    @Excel(name="最小单位")
    private String drugUnit;
    @Excel(name="数量(流通包装)")
    private Integer minPack;
    @Excel(name="单位(流通包装)")
    private String minPackUnit;
    @Excel(name="最小使用剂量")
    private Double dosePerUnit;
    @Excel(name="最小使用剂量单位")
    private String doseUnit;
    @Excel(name="在用标记")
    private Integer validInd;
    @Excel(name="创建时间")
    private Date createDate;
    @Excel(name="更新时间")
    private Date updateDate;

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getDrugStdCode() {
        return drugStdCode;
    }

    public void setDrugStdCode(String drugStdCode) {
        this.drugStdCode = drugStdCode;
    }

    public String getDrugName() {
        return drugName;
    }

    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }

    public String getDrugCode() {
        return drugCode;
    }

    public void setDrugCode(String drugCode) {
        this.drugCode = drugCode;
    }

    public String getDrugSpec() {
        return drugSpec;
    }

    public void setDrugSpec(String drugSpec) {
        this.drugSpec = drugSpec;
    }

    public String getFirmId() {
        return firmId;
    }

    public void setFirmId(String firmId) {
        this.firmId = firmId;
    }

    public String getDrugUnit() {
        return drugUnit;
    }

    public void setDrugUnit(String drugUnit) {
        this.drugUnit = drugUnit;
    }

    public Integer getMinPack() {
        return minPack;
    }

    public void setMinPack(Integer minPack) {
        this.minPack = minPack;
    }

    public String getMinPackUnit() {
        return minPackUnit;
    }

    public void setMinPackUnit(String minPackUnit) {
        this.minPackUnit = minPackUnit;
    }

    public Double getDosePerUnit() {
        return dosePerUnit;
    }

    public void setDosePerUnit(Double dosePerUnit) {
        this.dosePerUnit = dosePerUnit;
    }

    public String getDoseUnit() {
        return doseUnit;
    }

    public void setDoseUnit(String doseUnit) {
        this.doseUnit = doseUnit;
    }

    public Integer getValidInd() {
        return validInd;
    }

    public void setValidInd(Integer validInd) {
        this.validInd = validInd;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DrugBasicInfoDo that = (DrugBasicInfoDo) o;
        return Objects.equals(drugStdCode, that.drugStdCode) ||
                (Objects.equals(drugCode,that.drugCode) && Objects.equals(drugSpec,that.drugSpec));
    }

    @Override
    public int hashCode() {
        return Objects.hash(
                drugStdCode,
                Objects.hash(drugCode, drugSpec)
        );
    }

    @Override
    public String toString() {
        return "DrugBasicInfoDo{" +
                "drugStdCode='" + drugStdCode + '\'' +
                ", drugName='" + drugName + '\'' +
                ", drugCode='" + drugCode + '\'' +
                ", drugSpec='" + drugSpec + '\'' +
                ", firmId='" + firmId + '\'' +
                ", drugUnit='" + drugUnit + '\'' +
                ", minPack=" + minPack +
                ", minPackUnit='" + minPackUnit + '\'' +
                ", dosePerUnit=" + dosePerUnit +
                ", doseUnit='" + doseUnit + '\'' +
                '}';
    }
}
